<html>
<head><meta charset="utf-8"><title>performance regression from universes · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html">performance regression from universes</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="148386181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386181">(Nov 26 2018 at 18:19)</a>:</h4>
<p>So <span class="user-mention" data-user-id="131694">@scalexm</span> have you thought at all about <a href="https://github.com/rust-lang/rust/pull/55921#issuecomment-441508657" target="_blank" title="https://github.com/rust-lang/rust/pull/55921#issuecomment-441508657">the performance regression</a> you pointed me at?</p>



<a name="148386185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386185">(Nov 26 2018 at 18:19)</a>:</h4>
<p>I was going to take a look</p>



<a name="148386192"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386192" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386192">(Nov 26 2018 at 18:19)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I opened a PR with a perf run</p>



<a name="148386195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386195">(Nov 26 2018 at 18:19)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/56234" target="_blank" title="https://github.com/rust-lang/rust/pull/56234">https://github.com/rust-lang/rust/pull/56234</a></p>



<a name="148386251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386251">(Nov 26 2018 at 18:20)</a>:</h4>
<p>not sure if this will do</p>



<a name="148386256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386256">(Nov 26 2018 at 18:20)</a>:</h4>
<p>hard to imagine that this is the bottleneck</p>



<a name="148386266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386266">(Nov 26 2018 at 18:20)</a>:</h4>
<p>well</p>



<a name="148386268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386268">(Nov 26 2018 at 18:20)</a>:</h4>
<p>according to the original comment</p>



<a name="148386273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386273">(Nov 26 2018 at 18:20)</a>:</h4>
<p>I am wondering if the lack of "universe canonicalization" is causing problems</p>



<a name="148386297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386297">(Nov 26 2018 at 18:20)</a>:</h4>
<p>i.e., we're getting poorer cache behavior or something</p>



<a name="148386301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386301">(Nov 26 2018 at 18:20)</a>:</h4>
<p>it seems like a lot of time is spent entering and exiting <code>create_next_universe</code></p>



<a name="148386308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386308">(Nov 26 2018 at 18:20)</a>:</h4>
<p>yeah; my guess is more that the caller is executing too often</p>



<a name="148386321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386321">(Nov 26 2018 at 18:21)</a>:</h4>
<p>vs <code>create_next_universe</code> itself being too expensive</p>



<a name="148386328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386328">(Nov 26 2018 at 18:21)</a>:</h4>
<p>still, worth checking ;)</p>



<a name="148386378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386378">(Nov 26 2018 at 18:21)</a>:</h4>
<p>mmh in that case that perf regression may have appeared earlier no?</p>



<a name="148386430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386430">(Nov 26 2018 at 18:22)</a>:</h4>
<p>I mean earlier <code>create_next_universe</code> was not even called because the map was only <code>[ty::UniverseIndex::from(0)]</code></p>



<a name="148386556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386556">(Nov 26 2018 at 18:24)</a>:</h4>
<p>hmm</p>



<a name="148386588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386588">(Nov 26 2018 at 18:25)</a>:</h4>
<p>maybe so</p>



<a name="148386592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386592">(Nov 26 2018 at 18:25)</a>:</h4>
<p>it's clearly that PR at fault:</p>



<a name="148386596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386596">(Nov 26 2018 at 18:25)</a>:</h4>
<p><a href="/user_uploads/4715/hUQGh8Axe6zKoxp4vG7dmdI-/Screen-Shot-2018-11-26-at-1.25.05-PM.png" target="_blank" title="Screen-Shot-2018-11-26-at-1.25.05-PM.png">Screen-Shot-2018-11-26-at-1.25.05-PM.png</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/hUQGh8Axe6zKoxp4vG7dmdI-/Screen-Shot-2018-11-26-at-1.25.05-PM.png" target="_blank" title="Screen-Shot-2018-11-26-at-1.25.05-PM.png"><img src="/user_uploads/4715/hUQGh8Axe6zKoxp4vG7dmdI-/Screen-Shot-2018-11-26-at-1.25.05-PM.png"></a></div>



<a name="148386696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386696">(Nov 26 2018 at 18:27)</a>:</h4>
<p>so to be clear</p>



<a name="148386700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386700">(Nov 26 2018 at 18:27)</a>:</h4>
<p>there's something I cannot remember</p>



<a name="148386710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386710">(Nov 26 2018 at 18:27)</a>:</h4>
<p>there was this comment above the creation of the universes map</p>



<a name="148386715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386715">(Nov 26 2018 at 18:27)</a>:</h4>
<div class="codehilite"><pre><span></span>         // For each universe that is referred to in the incoming
        // query, create a universe in our local inference context. In
        // practice, as of this writing, all queries have no universes
        // in them, so this code has no effect, but it is looking
        // forward to the day when we *do* want to carry universes
        // through into queries.
</pre></div>



<a name="148386730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386730">(Nov 26 2018 at 18:27)</a>:</h4>
<p>I think this was still true before my placeholders PR</p>



<a name="148386783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386783">(Nov 26 2018 at 18:28)</a>:</h4>
<p>or maybe it was stale already because of <a href="https://github.com/rust-lang/rust/pull/55305" target="_blank" title="https://github.com/rust-lang/rust/pull/55305">https://github.com/rust-lang/rust/pull/55305</a> (universes refactor 3)</p>



<a name="148386882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386882">(Nov 26 2018 at 18:29)</a>:</h4>
<p>I believe we are currently putting all region variables into the root universe</p>



<a name="148386927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386927">(Nov 26 2018 at 18:30)</a>:</h4>
<p>when canonicalizing the query</p>



<a name="148386950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386950">(Nov 26 2018 at 18:30)</a>:</h4>
<p>yes, and that will change only with your universes PR, right?</p>



<a name="148386952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386952">(Nov 26 2018 at 18:30)</a>:</h4>
<div class="codehilite"><pre><span></span><span class="k">struct</span> <span class="nc">CanonicalizeAllFreeRegions</span><span class="p">;</span><span class="w"></span>

<span class="k">impl</span><span class="w"> </span><span class="n">CanonicalizeRegionMode</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">CanonicalizeAllFreeRegions</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">canonicalize_free_region</span><span class="p">(</span><span class="w"></span>
<span class="w">        </span><span class="o">&amp;</span><span class="bp">self</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">canonicalizer</span>: <span class="kp">&amp;</span><span class="nc">mut</span><span class="w"> </span><span class="n">Canonicalizer</span><span class="o">&lt;</span><span class="na">&#39;_</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;_</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">        </span><span class="n">r</span>: <span class="nc">ty</span>::<span class="n">Region</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nc">ty</span>::<span class="n">Region</span><span class="o">&lt;</span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">canonicalizer</span><span class="p">.</span><span class="n">canonical_var_for_region_in_root_universe</span><span class="p">(</span><span class="n">r</span><span class="p">)</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>

<span class="w">    </span><span class="k">fn</span> <span class="nf">any</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="kt">bool</span> <span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="kc">true</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>



<a name="148386963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386963">(Nov 26 2018 at 18:30)</a>:</h4>
<p>so it was probably true</p>



<a name="148386977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148386977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148386977">(Nov 26 2018 at 18:30)</a>:</h4>
<p>my universes PR actually doesn't change this, but I am now wondering if it should, at least in combination with your PR</p>



<a name="148387015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387015">(Nov 26 2018 at 18:31)</a>:</h4>
<p>Ok so the real change before the placeholders PR and after the placeholders PR is that the map is no more always equal to <code>[UniverseIndex::ROOT]</code></p>



<a name="148387097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387097">(Nov 26 2018 at 18:32)</a>:</h4>
<p>we may want to back out the PR</p>



<a name="148387103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387103">(Nov 26 2018 at 18:32)</a>:</h4>
<p>so we can optimize "in peace"</p>



<a name="148387117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387117">(Nov 26 2018 at 18:32)</a>:</h4>
<p>still, I'm surprised that keccak is so heavily affected</p>



<a name="148387123"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387123" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387123">(Nov 26 2018 at 18:32)</a>:</h4>
<p>I'm going to do a bit more digging I guess</p>



<a name="148387133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387133">(Nov 26 2018 at 18:32)</a>:</h4>
<p>so the only ways I can think this would have regressed perf is:</p>
<ul>
<li>either the allocation of the universes map</li>
<li>or calling <code>create_next_universe</code> a lot of times</li>
</ul>



<a name="148387247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387247">(Nov 26 2018 at 18:34)</a>:</h4>
<p>I'm trying to remember, when are we even creating bound type variables?</p>



<a name="148387258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387258">(Nov 26 2018 at 18:34)</a>:</h4>
<p>I didn't expect this to happen much outside of chalk</p>



<a name="148387288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387288">(Nov 26 2018 at 18:34)</a>:</h4>
<p>we are not, however <code>InferCtxt</code> tracks the universe where each type inference variable was created</p>



<a name="148387346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387346">(Nov 26 2018 at 18:36)</a>:</h4>
<p>ok I see</p>



<a name="148387384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387384">(Nov 26 2018 at 18:36)</a>:</h4>
<p>and <em>those</em> are now preserved</p>



<a name="148387400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387400">(Nov 26 2018 at 18:36)</a>:</h4>
<p>makes sense</p>



<a name="148387408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387408">(Nov 26 2018 at 18:36)</a>:</h4>
<p>yes, unlike regions which are always put in the <code>ROOT</code> universe</p>



<a name="148387417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387417">(Nov 26 2018 at 18:36)</a>:</h4>
<p>(when canonicalizing)</p>



<a name="148387439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387439">(Nov 26 2018 at 18:37)</a>:</h4>
<p>seems likely that universe canon would also help here</p>



<a name="148387454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387454">(Nov 26 2018 at 18:37)</a>:</h4>
<p>this does suggest that we could, in an emergency, land a PR that puts type variables into ROOT univese</p>



<a name="148387463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387463">(Nov 26 2018 at 18:37)</a>:</h4>
<p>to be fixed in a follow-up</p>



<a name="148387464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387464">(Nov 26 2018 at 18:37)</a>:</h4>
<p>yes</p>



<a name="148387471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387471">(Nov 26 2018 at 18:37)</a>:</h4>
<p>that'd be nicer than having to back that big PR out</p>



<a name="148387488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387488">(Nov 26 2018 at 18:37)</a>:</h4>
<p>I'm just waiting for the perf run to finish and if that does not solve the problem, let's do that</p>



<a name="148387551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148387551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148387551">(Nov 26 2018 at 18:38)</a>:</h4>
<p>sounds good</p>



<a name="148390510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390510">(Nov 26 2018 at 19:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <a href="https://perf.rust-lang.org/compare.html?start=b51632e3f0856ea444f5e59819538e85947673fc&amp;end=bb9bcfd67d1be59a17b58b07b9fa152266ef763f" target="_blank" title="https://perf.rust-lang.org/compare.html?start=b51632e3f0856ea444f5e59819538e85947673fc&amp;end=bb9bcfd67d1be59a17b58b07b9fa152266ef763f">https://perf.rust-lang.org/compare.html?start=b51632e3f0856ea444f5e59819538e85947673fc&amp;end=bb9bcfd67d1be59a17b58b07b9fa152266ef763f</a> I never understand how to read this table</p>



<a name="148390529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390529">(Nov 26 2018 at 19:17)</a>:</h4>
<p>does this mean that my PR actually decreased perfs by 50% more?</p>



<a name="148390537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390537">(Nov 26 2018 at 19:17)</a>:</h4>
<p>yes</p>



<a name="148390539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390539">(Nov 26 2018 at 19:17)</a>:</h4>
<p>which is a bit confusing :)</p>



<a name="148390542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390542">(Nov 26 2018 at 19:17)</a>:</h4>
<p>perf is ready looks red oh alexandre writing at the same time damn phone typing :3</p>



<a name="148390543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390543">(Nov 26 2018 at 19:17)</a>:</h4>
<p>lol</p>



<a name="148390555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390555">(Nov 26 2018 at 19:17)</a>:</h4>
<p>that was unexpected</p>



<a name="148390624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390624">(Nov 26 2018 at 19:18)</a>:</h4>
<p>indeed</p>



<a name="148390635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390635">(Nov 26 2018 at 19:18)</a>:</h4>
<p>I made a local build btw</p>



<a name="148390638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390638">(Nov 26 2018 at 19:18)</a>:</h4>
<p>to do some experimenting</p>



<a name="148390644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148390644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148390644">(Nov 26 2018 at 19:18)</a>:</h4>
<p>though I realize now it's not optimized, so i can't compare perf measurements directly</p>



<a name="148391425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391425">(Nov 26 2018 at 19:27)</a>:</h4>
<p>ok <span class="user-mention" data-user-id="131694">@scalexm</span> I added some quick checks:</p>
<div class="codehilite"><pre><span></span>DEBUG 2018-11-26T19:26:47Z: rustc_traits::evaluate_obligation: evaluate_obligation(canonical_goal=Canonical {
    max_universe: U10992,
    variables: [
        CanonicalVarInfo {
            kind: Ty(
                General(
                    U10992
                )
            )
        }
    ],
    value: ParamEnvAnd {
        param_env: ParamEnv {
            caller_bounds: [],
            reveal: UserFacing
        },
        value: Binder(TraitPredicate(&lt;[u64] as core::ops::Index&lt;^1_0&gt;&gt;))
    }
})
</pre></div>



<a name="148391433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391433">(Nov 26 2018 at 19:27)</a>:</h4>
<p>I'd say we need to do univ canonicalization :P</p>



<a name="148391448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391448">(Nov 26 2018 at 19:27)</a>:</h4>
<p>lol ok</p>



<a name="148391450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391450">(Nov 26 2018 at 19:27)</a>:</h4>
<p>I'd be up for trying to do that</p>



<a name="148391462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391462">(Nov 26 2018 at 19:27)</a>:</h4>
<p>but i'm also up for someone else to do it</p>



<a name="148391472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391472">(Nov 26 2018 at 19:27)</a>:</h4>
<p>trying to guesstimate my avail time this week:)</p>



<a name="148391481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391481">(Nov 26 2018 at 19:27)</a>:</h4>
<p>in <em>theory</em> I have more</p>



<a name="148391534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391534">(Nov 26 2018 at 19:28)</a>:</h4>
<p>so I guess the perf problem just comes from the construction + allocation of the map</p>



<a name="148391589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391589">(Nov 26 2018 at 19:29)</a>:</h4>
<p>I'll open a PR for putting back all type existentials in <code>ROOT</code> if <code>-Z chalk</code> is not there as you suggested</p>



<a name="148391693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391693">(Nov 26 2018 at 19:30)</a>:</h4>
<p>we can land it with p=1, please send me a link on zulip</p>



<a name="148391749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391749">(Nov 26 2018 at 19:30)</a>:</h4>
<p>OK, well, I think i'm going to go try and do reviews now.</p>



<a name="148391753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391753">(Nov 26 2018 at 19:30)</a>:</h4>
<p>still in "catch up" mode from vacation last week</p>



<a name="148391773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148391773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148391773">(Nov 26 2018 at 19:30)</a>:</h4>
<p>I'll fix the universe PR though</p>



<a name="148392356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148392356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148392356">(Nov 26 2018 at 19:39)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <a href="https://github.com/rust-lang/rust/pull/56251" target="_blank" title="https://github.com/rust-lang/rust/pull/56251">https://github.com/rust-lang/rust/pull/56251</a> I think that should do it</p>



<a name="148392473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148392473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148392473">(Nov 26 2018 at 19:40)</a>:</h4>
<p>should we do a perf run?</p>



<a name="148392479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148392479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148392479">(Nov 26 2018 at 19:40)</a>:</h4>
<p>/me sends bors try</p>



<a name="148409141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148409141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148409141">(Nov 27 2018 at 00:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> perf is green again</p>



<a name="148618393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148618393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> memoryruins <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148618393">(Nov 27 2018 at 05:33)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/56270" target="_blank" title="https://github.com/rust-lang/rust/issues/56270">#56270</a> seems related</p>



<a name="148644645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148644645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148644645">(Nov 27 2018 at 15:23)</a>:</h4>
<p><span class="user-mention" data-user-id="131694">@scalexm</span> if you have a build of the PR, maybe you can test <a href="https://github.com/rust-lang/rust/issues/56270" target="_blank" title="https://github.com/rust-lang/rust/issues/56270">#56270</a>?</p>



<a name="148644740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148644740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148644740">(Nov 27 2018 at 15:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> mmh I haven't one :p</p>



<a name="148644768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148644768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148644768">(Nov 27 2018 at 15:25)</a>:</h4>
<p>but 99% sure this is the same issue</p>



<a name="148644783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148644783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148644783">(Nov 27 2018 at 15:25)</a>:</h4>
<p>there was <a href="https://github.com/rust-lang/rust/issues/56274" target="_blank" title="https://github.com/rust-lang/rust/issues/56274">#56274</a> too</p>



<a name="148644939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148644939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scalexm <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148644939">(Nov 27 2018 at 15:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  oh maybe you meant a build of the placeholders PR, not a build of the fix</p>



<a name="148645672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148645672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148645672">(Nov 27 2018 at 15:40)</a>:</h4>
<p>I meant the fix</p>



<a name="148675605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/performance%20regression%20from%20universes/near/148675605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> memoryruins <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/performance.20regression.20from.20universes.html#148675605">(Nov 27 2018 at 23:12)</a>:</h4>
<p>:) <a href="/user_uploads/4715/jQ3ZkDpi5g0V5AKkHil4KZ9K/keccak-perf.png" target="_blank" title="keccak-perf.png">keccak-perf.png</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/jQ3ZkDpi5g0V5AKkHil4KZ9K/keccak-perf.png" target="_blank" title="keccak-perf.png"><img src="/user_uploads/4715/jQ3ZkDpi5g0V5AKkHil4KZ9K/keccak-perf.png"></a></div>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>